#pragma once

#include "IXHwnd.h"

/**
 *  IXCombo Interface.
 *
 */
class ExportXSkinLib IXCombo : public IXHwnd
{
    DEF_INTERFACE(IXCombo, _T("{62D164ED-D21A-46d3-8DEC-7C0955A23012}"));

public:
    virtual int     STDMETHODCALLTYPE   get_ItemCount() = 0;

    virtual int     STDMETHODCALLTYPE   get_CurSel() = 0;
    virtual void    STDMETHODCALLTYPE   put_CurSel(IN int nCurSel) = 0;

    virtual int     STDMETHODCALLTYPE   get_MinVisibleItemCount() = 0;
    virtual void    STDMETHODCALLTYPE   put_MinVisibleItemCount(IN int nCount) = 0;

    virtual int     STDMETHODCALLTYPE   AddString(IN LPCTSTR szText) = 0;
    virtual int     STDMETHODCALLTYPE   InsertString(IN int uIndex, LPCTSTR szText) = 0;
    virtual int     STDMETHODCALLTYPE   DeleteString(IN int uIndex) = 0;

    virtual DWORD   STDMETHODCALLTYPE   get_ItemData(IN int nIndex) = 0;
    virtual void    STDMETHODCALLTYPE   put_ItemData(IN int nIndex, IN DWORD dwItemData) = 0;
};

// lParam: XWND to Combo
#define ComboEvent_SelChange    _T("EvtComboSelChange")
